iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0
自我挑戰組

初心者解任務啦!JS 的 30 道任務系列 第 26

[ Day 26 ] - 陣列的資料處理 - findIndex

  • 分享至 

  • xImage
  •  

特性與用途

  • 不會影響到原始陣列的資料
  • 回傳符合條件的一筆資料的 index(索引)

直接進入寫法與範例

範例一:找出 >= 10 的 index

const dataList = [5, 7, 10, 99];

const newDataList = dataList.findIndex(function(item){
  return item >= 10;
});
console.log(newDataList);

執行結果

範例二:找出 price < 200 的項目

const dataList = [
    {
      goodsName: '帆布提袋',
      price: 499
    },
    {
      goodsName: '文青斜背包',
      price: 399
    },
    {
      goodsName: '簡約風飲料提袋',
      price: 39
    },
]

const newDataList = dataList.findIndex(function(item){
  return item.price < 200;
});
console.log(newDataList);
console.log(dataList[newDataList]);

執行結果

最後來練習箭頭函式

  • 第一種寫法:先拔 function ,再加上 => 魔法棒,完成!
const dataList = [
    {
      goodsName: '帆布提袋',
      price: 499
    },
    {
      goodsName: '文青斜背包',
      price: 399
    },
    {
      goodsName: '簡約風飲料提袋',
      price: 39
    },
]

const newDataList = dataList.findIndex((item) => {
  return item.price < 200;
});
console.log(newDataList);
console.log(dataList[newDataList]);
  • 第二種寫法:因為拔掉不需要的括號後,也不需要 return 這個"媒介",
    試想著把 => (魔法棒),後面當作魔法棒要直接執行的咒語(條件),那麼就完成了!
const dataList = [
    {
      goodsName: '帆布提袋',
      price: 499
    },
    {
      goodsName: '文青斜背包',
      price: 399
    },
    {
      goodsName: '簡約風飲料提袋',
      price: 39
    },
]

const newDataList = dataList.findIndex(item => item.price < 200);
console.log(newDataList);
console.log(dataList[newDataList]);

參考資料及學習資源

本日小節

今天小改了一下箭頭函式的記法,把他當魔法師用的法杖來形容感覺變簡單了!(自以為)
這是我的學習紀錄,有什麼建議和問題都可以跟我說,我們下次見!


上一篇
[ Day 25 ] - 陣列的資料處理 - find
下一篇
[ Day 27 ] - 樣板字面值(Template literals)
系列文
初心者解任務啦!JS 的 30 道任務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言